#include "stm32f10x.h"                  // Device header
#include "delay.h"

/***********************************************
* 流水灯
* 最小系统接法：将C8T6接到面包板上，
* 空2行，然后一边3.3V接正极，GND接地
* 另一边的3.3V也接正极，GND接地
* 将8个LED的负极分别接PA0~PA7，依次正极接板上正极
* 效果：第一个开始依次亮
* author：dralee
* date: 2021.11.20
*************************************************/

int main(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 
		| GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStruct);
		
	while(1)
	{
		GPIO_Write(GPIOA, ~GPIO_Pin_0);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_1);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_2);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_3);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_4);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_5);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_6);
		delay_ms(100);
		GPIO_Write(GPIOA, ~GPIO_Pin_7);
		delay_ms(100);
	}
}
